/*
router.js路由模块
*/
var fs=require('fs')
var express =require('express')
var Student =require('./student')

//创建一个路由容器
  var router=express.Router()
  
  //把路由挂载到router路由容器中
  router.get('/',function(req,res){
    Student.find(function(err,students){
      if(err){
        return res.status(500).send('Server error')
      }
    
      res.render('index.html', {
        students:students
    });
    })
    
  })



  router.get('/students/new',function(req,res){
    res.render('new.html')
  })



  router.post('/students/new',function(req,res){
    //1.获取表单数据
    //2.处理(将数据保存到db中用以持久化)
    //3.发送响应
    console.log(req.boby)
    new Student(req.body).save(function(err){
      if(err){
        console.log(err)
        return res.status(500).send('Server error')
      }
      res.redirect('/')
    })
  })



  router.get('/students/edit',function(req,res){
    //1.在客户端的列表页中处理链接问题（需要有id参数）
    //2.获取要编辑的学生id
    //3.渲染编辑页面
    //console.log(req.query.id)
    
    Student.findById(req.query.id,function(err,student){
      if(err){
        return res.status(500).send('Server error')
      }
      res.render('edit.html',{
         student:student
      })
    })
    
  })



  router.post('/students/edit',function(req,res){
    //1.获取表单数据req.body
    //2.更新 Student.updateById
    //3.发送响应
    // var id = req.body.id.replace(/"/g, '')
    Student.findByIdAndUpdate(req.body.id,req.body,function(err){
      if(err){
        return res.status(500).send('Server error')
      }
      res.redirect('/')
    })

  })




  router.get('/students/delete',function(req,res){
    //1.获取删除的id
    //2.根据id执行删除操作
    //3.根据操作结果发送响应数据
    Student.findByIdAndRemove(req.query.id,function(err){
      if(err){
        return res.status(500).send('Server error')
      }
       res.redirect('/')
    })
  })



 module.exports =router;
